With the emergence of new modular processing architectures for data centers, a new way of data processing is possible for both enterprises and consumers. A number of companies have set up data centers throughout the US as well as globally. An enterprise or individual consumer can subscribe to their services and can access their services through the Internet. When accessing these services, a subscriber can create virtual machines (VMs), request storage space, load applications from the virtual storage to the VM and activate the applications, etc. on an as-needed basis.
With this way of computing, users may off-load processing from their machines and use the services provided by the computing service providers. This form of the processing is commonly referred to as “cloud computing,” as the data processing is virtualized and resides in the Internet “cloud”. An example of cloud computing service provider is the EC2 service from Amazon.
Currently, VMs are charged by the hour by the clouding computing service provider. The size of the VM (in terms of computing power) would determine the rate. For some computing service providers, the basic service subscription comes with a number of “free” hours. Time used after that may be charged by the hour.
In addition to the racks of servers, each container may also be equipped with its own ancillary equipment such as AC to DC converters, air containing units, communication equipment, cabling, external interfaces for power and communications, etc. The container may be pre-assembled in factory and shipped to the data center via trucks. The data center may be constructed with space pre-allocated to the PODs onto which a truck may unload the PODs. Power cable and communications links may be pre-installed at the allocated space. Then, data center maintenance personnel may plug the cables to the appropriate external interfaces and the POD can initialize and begin operation. In addition to housing servers, some PODs may be constructed to house other types of equipment such as storage devices.
This architecture leverages two advances in software technologies. First, virtual machines (VMs) can be created and deleted on a server at an on-demand basis. Different programs can be executed at each VM without interferences from each other. Second, the architecture benefits from the emergence of a new framework of processing which allow programs to be executed distributively over a number of small nodes. Under this framework, the execution of a program is managed by a master node. The master node may decompose the program to a number of sub-modules and distribute these sub-modules to other worker nodes. The worker nodes, in turn, may repeat the process and decompose its sub-module to smaller sub-modules and distributes the sub-sub-modules to other nodes. Once a worker node completes its sub-module, it may pass the result to a node which will combine of the intermediate results into the final results. Note the nodes in the above description could be a VM at a processor board. An example of such a framework is MapReduce from Google.
With the new architecture for data centers, a new way of data processing is possible for both enterprises and consumers. A number of companies have set up data centers throughout the US as well as globally. An enterprise or individual consumer can subscribe to their services and can access their services through the internet. When accessing these services, a subscriber can create VMs, request storage space, load applications from the virtual storage to the VM and activate the applications, etc. on an as-needed basis.
With this way of computing, users basically off-load processing from their machines and use the services provided by the computing service providers. This form of the processing is commonly referred to as cloud computing, as the data processing is virtualized and resides in the internet “cloud”. An example of cloud computing service provider is the EC2 service from Amazon.
Another emerging trend is the increased usage of “thin clients”. Thin clients are small, ultra portable machines with limiting processing power (e.g., iPAD from Apple). Because of their limited processing power, a user of such a machine may off-load processing, when useful or when required, to other machines. The thin client will act as the user interface for the user to manage and coordinate the remote processing. Thin clients have natural affinity to cloud computing because, with thin clients, the processing is off-loaded remotely, usually to a cloud computing service provider.
Currently, VMs are charged by the hour by the clouding computing service provider. The size of the VM (in terms of computing power) would determine the rate. For some computing service providers, the basic service subscription comes with a number of “free” hours. Time used after that may be charged by the hour.